home *** CD-ROM | disk | FTP | other *** search
/ L' Effet Pommier 3 / L'Effet Pommier - Volume 03.iso / Graphismes / 3D / POV-Ray 3.0B5a PPC / POV-Ray 3.0B5a / POVSCN.Scenes / INCLUDE / GOLDS.INC < prev    next >
Text File  |  1996-02-11  |  9KB  |  236 lines

  1. #ifdef(Gold_Inc_Temp)
  2. // do nothing
  3. #else
  4. #declare Gold_Inc_Temp=version
  5. #version 3.0
  6.  
  7. #ifdef(View_POV_Include_Stack)
  8. #   debug "including golds.inc\n"
  9. #end
  10.  
  11. /*
  12.               Persistence of Vision Raytracer Version 3.0
  13.                       Gold textures
  14. */
  15. #include "colors.inc"
  16. #include "shapes.inc"
  17.  
  18. #declare GoldBase = <1.00, 0.875, 0.575>  // mine again
  19.  
  20. // This set shifts the color toward orange by subtracting
  21. // bluegreen from the base color.
  22. #declare CVect1 = GoldBase  - <0.00, 0.20, 0.40>
  23. #declare CVect2 = GoldBase  - <0.00, 0.15, 0.30>
  24. #declare CVect3 = GoldBase  - <0.00, 0.10, 0.20>
  25. #declare CVect4 = GoldBase  - <0.00, 0.05, 0.1>
  26. #declare CVect5 = GoldBase  - <0.00, 0.00, 0.00>
  27.  
  28. // Cast CVect as an rgb vector
  29. #declare P_Gold1    = rgb CVect1             // back row
  30. #declare P_Gold2    = rgb CVect2
  31. #declare P_Gold3    = rgb CVect3
  32. #declare P_Gold4    = rgb CVect4
  33. #declare P_Gold5    = rgb CVect5             // front row
  34.  
  35. // Reflection colors, derived from pigment color, "grayed down" a touch.
  36. #declare R_GoldA =  P_Gold1 * 0.30 + 0.25        // left column (soft)
  37. #declare R_GoldB =  P_Gold2 * 0.35 + 0.25
  38. #declare R_GoldC =  P_Gold3 * 0.40 + 0.25
  39. #declare R_GoldD =  P_Gold4 * 0.45 + 0.25
  40. #declare R_GoldE =  P_Gold5 * 0.50 + 0.25        // right column (hard)
  41.  
  42.  
  43. // Ambient colors, derived from base color
  44. #declare A_GoldA    =  P_Gold1 * 0.12 + 0.1      // left column  (soft)
  45. #declare A_GoldB    =  P_Gold2 * 0.10 + 0.1
  46. #declare A_GoldC    =  P_Gold3 * 0.08 + 0.1
  47. #declare A_GoldD    =  P_Gold4 * 0.05 + 0.1
  48. #declare A_GoldE    =  P_Gold5 * 0.02 + 0.1      // right column (hard)
  49.  
  50. // Diffuse values
  51. // Calculated as 1 - (ambient+reflective+specular values)
  52. #declare D_GoldA    = 1-(((R_GoldA.red+R_GoldA.green+R_GoldA.blue)/3)
  53.                        + ((A_GoldA.red+A_GoldA.green+A_GoldA.blue)/3))
  54. #declare D_GoldB    = 1-(((R_GoldB.red+R_GoldB.green+R_GoldB.blue)/3)
  55.                        + ((A_GoldB.red+A_GoldB.green+A_GoldB.blue)/3))
  56. #declare D_GoldC    = 1-(((R_GoldC.red+R_GoldC.green+R_GoldC.blue)/3)
  57.                        + ((A_GoldC.red+A_GoldC.green+A_GoldC.blue)/3))
  58. #declare D_GoldD    = 1-(((R_GoldD.red+R_GoldD.green+R_GoldD.blue)/3)
  59.                        + ((A_GoldD.red+A_GoldD.green+A_GoldD.blue)/3))
  60. #declare D_GoldE    = 1-(((R_GoldE.red+R_GoldE.green+R_GoldE.blue)/3)
  61.                        + ((A_GoldE.red+A_GoldE.green+A_GoldE.blue)/3))
  62.  
  63. #declare D_GoldA = max(D_GoldA, 0)
  64. #declare D_GoldB = max(D_GoldB, 0)
  65. #declare D_GoldC = max(D_GoldC, 0)
  66. #declare D_GoldD = max(D_GoldD, 0)
  67. #declare D_GoldE = max(D_GoldE, 0)
  68.  
  69.  
  70. // #debug "\nReflection colors:"
  71. // #debug concat("\nR_GoldA=<", str(R_GoldA.red,   5, 5), "," ,
  72. //                              str(R_GoldA.green, 5, 5),"," ,
  73. //                              str(R_GoldA.blue,  5, 5), ">")
  74. // #debug concat("\nR_GoldB=<", str(R_GoldB.red,   5, 5), "," ,
  75. //                              str(R_GoldB.green, 5, 5),"," ,
  76. //                              str(R_GoldB.blue,  5, 5), ">")
  77. // #debug concat("\nR_GoldC=<", str(R_GoldC.red,   5, 5), "," ,
  78. //                              str(R_GoldC.green, 5, 5),"," ,
  79. //                              str(R_GoldC.blue,  5, 5), ">")
  80. // #debug concat("\nR_GoldD=<", str(R_GoldD.red,   5, 5), "," ,
  81. //                              str(R_GoldD.green, 5, 5),"," ,
  82. //                              str(R_GoldD.blue,  5, 5), ">")
  83. // #debug concat("\nR_GoldE=<", str(R_GoldE.red,   5, 5), "," ,
  84. //                              str(R_GoldE.green, 5, 5),"," ,
  85. //                              str(R_GoldE.blue,  5, 5), ">")
  86. //
  87. // #debug "\n\nAmbient colors:"
  88. // #debug concat("\nA_GoldA=<", str(A_GoldA.red,   5, 5), "," ,
  89. //                              str(A_GoldA.green, 5, 5),"," ,
  90. //                              str(A_GoldA.blue,  5, 5), ">")
  91. // #debug concat("\nA_GoldB=<", str(A_GoldB.red,   5, 5), "," ,
  92. //                              str(A_GoldB.green, 5, 5),"," ,
  93. //                              str(A_GoldB.blue,  5, 5), ">")
  94. // #debug concat("\nA_GoldC=<", str(A_GoldC.red,   5, 5), "," ,
  95. //                              str(A_GoldC.green, 5, 5),"," ,
  96. //                              str(A_GoldC.blue,  5, 5), ">")
  97. // #debug concat("\nA_GoldD=<", str(A_GoldD.red,   5, 5), "," ,
  98. //                              str(A_GoldD.green, 5, 5),"," ,
  99. //                              str(A_GoldD.blue,  5, 5), ">")
  100. // #debug concat("\nA_GoldE=<", str(A_GoldE.red,   5, 5), "," ,
  101. //                              str(A_GoldE.green, 5, 5),"," ,
  102. //                              str(A_GoldE.blue,  5, 5), ">")
  103. //
  104. //
  105. // #debug "\n\nDiffuse values:"
  106. // #debug concat("\nD_GoldA = ",str(D_GoldA, 5, 5))
  107. // #debug concat("\nD_GoldB = ",str(D_GoldB, 5, 5))
  108. // #debug concat("\nD_GoldC = ",str(D_GoldC, 5, 5))
  109. // #debug concat("\nD_GoldD = ",str(D_GoldD, 5, 5))
  110. // #debug concat("\nD_GoldE = ",str(D_GoldE, 5, 5))
  111. // #debug "\n"
  112.  
  113. #declare M = 1    //   Metallic amount
  114.  
  115. //*****Finishes****
  116. // Left column, dullest & darkest
  117. #declare F_MetalA  =
  118. finish {
  119.     brilliance 2
  120.     diffuse D_GoldA
  121.     ambient A_GoldA
  122.     reflection R_GoldA
  123.     metallic M
  124.     specular 0.20
  125.     roughness 1/20
  126. }
  127.  
  128. #declare F_MetalB  =
  129. finish {
  130.     brilliance 3
  131.     diffuse D_GoldB
  132.     ambient A_GoldB
  133.     reflection R_GoldB
  134.     metallic M
  135.     specular 0.30
  136.     roughness 1/60
  137. }
  138.  
  139. #declare F_MetalC  =
  140. finish {
  141.     brilliance 4
  142.     diffuse D_GoldC
  143.     ambient A_GoldC
  144.     reflection R_GoldC
  145.     metallic M
  146.     specular 0.60
  147.     roughness 1/80
  148. }
  149.  
  150. #declare F_MetalD  =
  151. finish {
  152.     brilliance 5
  153.     diffuse D_GoldD
  154.     ambient A_GoldD
  155.     reflection R_GoldD
  156.     metallic M
  157.     specular 0.70
  158.     roughness 1/100
  159. }
  160.  
  161. #declare F_MetalE  =
  162. finish {
  163.     brilliance 6
  164.     diffuse D_GoldE
  165.     ambient A_GoldE
  166.     reflection R_GoldE
  167.     metallic M
  168.     specular 0.80
  169.     roughness 1/120
  170. }
  171.  
  172. //                              GOLDS
  173. #declare T_Gold_1A = texture { pigment { P_Gold1 } finish { F_MetalA } }
  174. #declare T_Gold_1B = texture { pigment { P_Gold1 } finish { F_MetalB } }
  175. #declare T_Gold_1C = texture { pigment { P_Gold1 } finish { F_MetalC } }
  176. #declare T_Gold_1D = texture { pigment { P_Gold1 } finish { F_MetalD } }
  177. #declare T_Gold_1E = texture { pigment { P_Gold1 } finish { F_MetalE } }
  178.  
  179. #declare T_Gold_2A = texture { pigment { P_Gold2 } finish { F_MetalA } }
  180. #declare T_Gold_2B = texture { pigment { P_Gold2 } finish { F_MetalB } }
  181. #declare T_Gold_2C = texture { pigment { P_Gold2 } finish { F_MetalC } }
  182. #declare T_Gold_2D = texture { pigment { P_Gold2 } finish { F_MetalD } }
  183. #declare T_Gold_2E = texture { pigment { P_Gold2 } finish { F_MetalE } }
  184.  
  185. #declare T_Gold_3A = texture { pigment { P_Gold3 } finish { F_MetalA } }
  186. #declare T_Gold_3B = texture { pigment { P_Gold3 } finish { F_MetalB } }
  187. #declare T_Gold_3C = texture { pigment { P_Gold3 } finish { F_MetalC } }
  188. #declare T_Gold_3D = texture { pigment { P_Gold3 } finish { F_MetalD } }
  189. #declare T_Gold_3E = texture { pigment { P_Gold3 } finish { F_MetalE } }
  190.  
  191. #declare T_Gold_4A = texture { pigment { P_Gold4 } finish { F_MetalA } }
  192. #declare T_Gold_4B = texture { pigment { P_Gold4 } finish { F_MetalB } }
  193. #declare T_Gold_4C = texture { pigment { P_Gold4 } finish { F_MetalC } }
  194. #declare T_Gold_4D = texture { pigment { P_Gold4 } finish { F_MetalD } }
  195. #declare T_Gold_4E = texture { pigment { P_Gold4 } finish { F_MetalE } }
  196.  
  197. #declare T_Gold_5A = texture { pigment { P_Gold5 } finish { F_MetalA } }
  198. #declare T_Gold_5B = texture { pigment { P_Gold5 } finish { F_MetalB } }
  199. #declare T_Gold_5C = texture { pigment { P_Gold5 } finish { F_MetalC } }
  200. #declare T_Gold_5D = texture { pigment { P_Gold5 } finish { F_MetalD } }
  201. #declare T_Gold_5E = texture { pigment { P_Gold5 } finish { F_MetalE } }
  202.  
  203. //The following #declares are needed for stage_xz.pov
  204.  
  205. #declare T01 = texture { T_Gold_1A }
  206. #declare T02 = texture { T_Gold_1B }
  207. #declare T03 = texture { T_Gold_1C }
  208. #declare T04 = texture { T_Gold_1D }
  209. #declare T05 = texture { T_Gold_1E }
  210.  
  211. #declare T06 = texture { T_Gold_2A }
  212. #declare T07 = texture { T_Gold_2B }
  213. #declare T08 = texture { T_Gold_2C }
  214. #declare T09 = texture { T_Gold_2D }
  215. #declare T10 = texture { T_Gold_2E }
  216.  
  217. #declare T11 = texture { T_Gold_3A }
  218. #declare T12 = texture { T_Gold_3B }
  219. #declare T13 = texture { T_Gold_3C }
  220. #declare T14 = texture { T_Gold_3D }
  221. #declare T15 = texture { T_Gold_3E }
  222.  
  223. #declare T16 = texture { T_Gold_4A }
  224. #declare T17 = texture { T_Gold_4B }
  225. #declare T18 = texture { T_Gold_4C }
  226. #declare T19 = texture { T_Gold_4D }
  227. #declare T20 = texture { T_Gold_4E }
  228.  
  229. #declare T21 = texture { T_Gold_5A }
  230. #declare T22 = texture { T_Gold_5B }
  231. #declare T23 = texture { T_Gold_5C }
  232. #declare T24 = texture { T_Gold_5D }
  233. #declare T25 = texture { T_Gold_5E }
  234. #version Gold_Inc_Temp
  235. #end
  236.